VAR_A = 0x00
VAR_B = 0x01
VAR_ZEROS = 0x00
VAR_ONES = 0xFF
VAR_BCD = 0x23

CLR A
LOAD &VAR_A&,A,*RESET*
LOAD &VAR_B&,B
CPSE --test skip instruction(NO)
ADD A
CPSE --test single byte instruction skip(YES)
ADD A
CPSE --test double byte instruction skip(YES)
OUT A, 0
DEB 0, A --test debounce, not active yet
OUT A, 0
LOAD &VAR_BCD&, A
BCDO A --test BCD output
CLRWDT	--test reset watchdog timer

LOAD &VAR_B&,A
LOAD &VAR_B&,B
ADD A
BZ &RESET& --wont branch

LOAD &VAR_B&,A
LOAD &VAR_B&,B
SUB A
BNZ &RESET& -- wont branch
BZ &skip& --will branch

LOAD &VAR_ONES&, A -- this should be skipped
LOAD &VAR_ONES&, B,*skip*
LOAD &VAR_ONES&, A

BRSET A, 3, &BRSKIP& --will branch
LOAD &VAR_ZEROS&, A
LOAD &VAR_ZEROS&, B,*BRSKIP*
BRSET B, 3, &RESET& --wont branch

LOAD &VAR_B&,A
LOAD &VAR_B&,B
ADD A
DEB 0, A,*inf_loop* --test debounce in infinite loop
OUT A, 0
BNZ &inf_loop& -- eventually watch dog will reset the system